package k1_exercise;

import java.util.Arrays;
import java.util.Scanner;

public class Array_exercise_eighth {

    /**
     * 定义一个长度为10的数组，通过控制台输入5个数
     * 1.向数组中指定的位置中插入一个新元素(考虑其它元素的移动)
     * 2.删除指定位置的元素
     */
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        //创建一个长度为10的数组
        int[] nums = new int[10];

        //输入初始的五个数字
        for (int i = 0; i < 5; i++) {
            System.out.println("请输入第"+(i+1)+"个数字：");
            nums[i] = scanner.nextInt();
        }

        System.out.println(Arrays.toString(nums));

        //实现向指定位置添加元素的功能
        System.out.println("请输入要添加的数字的索引位置：");
        int insertIndex = scanner.nextInt();
        System.out.println("请输入要添加的数字：");
        int insertNumber = scanner.nextInt();

        //从数组的最后一位开始，逐位向后进行替换元素，直到要插入的索引位置为止
        for (int i = nums.length-1; i > insertIndex ; i--) {
            //第i个位置的值应该由第i-1的位置的值进行覆盖
            nums[i] = nums[i-1];
        }
        //经过循环后，要添加的位置已经被空出来，所以直接对此位置进行赋值即可
        nums[insertIndex] = insertNumber;

        System.out.println(Arrays.toString(nums));

        //实现从指定位置删除元素的功能
        System.out.println("请输入要删除的索引位置：");
        int deleteIndex = scanner.nextInt();

        //从要删除的位置开始到数组的最后，依次向前一位替换元素
        for (int i = deleteIndex; i < nums.length-2; i++) {
            nums[i] = nums[i+1];
        }

        System.out.println(Arrays.toString(nums));
    }

}
